﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Atlandiz.Data;

namespace Atlandiz.EnvanterVeZimmetYonetimi
{
    public partial class ListeKullanici : DevExpress.XtraEditors.XtraForm
    {
        public bool ForSelection = false;

        public ListeKullanici()
        {
            InitializeComponent();
        }

        public void KullaniciYukle()
        {
            String Sorgu = "Select \n"+
                "kID,\n"+
                "AdSoyad,\n"+
                "kAdi,\n"+
                "CreateDate,\n"+
                "UpdateDate,\n"+
                "(CASE WHEN Yetki = 1 THEN 'Yönetici' ELSE 'Kullanıcı' END) \n" +
                   "from Kullanici \n"+
                   "where isDeleted=0";

            _lwKullanici.Items.Clear();

            DataTable dt = Army.SQL().GetDataTable(Sorgu);

            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());
                ls.SubItems.Add(item[2].ToString());
                ls.SubItems.Add(item[3].ToString());
                ls.SubItems.Add(item[4].ToString());
                ls.SubItems.Add(item[5].ToString());

                _lwKullanici.Items.Add(ls);
            }

        }

        private void KullaniciLst_Load(object sender, EventArgs e)
        {
            Army.EventConfirm = false;
            KullaniciYukle();
        }




        public void KDuzenle()
        {
            FormKullanici KullaniciFormu = new FormKullanici();
            KullaniciFormu.KayID = int.Parse(_lwKullanici.SelectedItems[0].SubItems[0].Text);
            KullaniciFormu.ShowDialog();
            KullaniciYukle();
        }

        private void düzenleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_lwKullanici.SelectedItems.Count > 0)
            {
                KDuzenle();
            }
            else
            {
                MessageBox.Show("Lütfen, düzenlenecek kaydı seçiniz...");
            }
        }

        private void silToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_lwKullanici.SelectedItems.Count > 0)
            {
                PopupAreYouSure SilOnay = new PopupAreYouSure();
                Army.EventMessage = "Seçilen Kullanıcı Silinecek,\nEmin misiniz?";
                SilOnay.ShowDialog();

                if (Army.EventConfirm)
                {
                    Army.SQL().cmd("Update Kullanici SET isDeleted=1 where kID=" + _lwKullanici.SelectedItems[0].SubItems[0].Text.ToString());
                    MessageBox.Show("Seçilen Kullamıcı Silindi.", "Kayıt Silindi.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    KullaniciYukle();
                    //sil komutu
                }
            }

            //if (_lwKullanici.SelectedItems.Count > 0)
            //{
            //    DialogResult sonuc;
            //    sonuc = MessageBox.Show("Kaydı silmek istediğinize emin misiniz?", "Dikkat!", MessageBoxButtons.YesNo);
            //    if (sonuc == DialogResult.Yes)
            //    {
            //        SQL.cmd("Update Kullanici SET isDeleted=1 where kID=" + _lwKullanici.SelectedItems[0].SubItems[0].Text);
            //        MessageBox.Show("Kayıt, başarı ile silinmiştir.");
            //        KullaniciYukle();
            //    }
            //}
            //else
            //{
            //    MessageBox.Show("Lütfen, silinecek kaydı seçin");
            //}
        }

        private void listView1_DoubleClick(object sender, EventArgs e)
        {
            if (_lwKullanici.SelectedItems.Count > 0 & ForSelection)
            {
                Army.SecilenID = int.Parse(_lwKullanici.SelectedItems[0].SubItems[0].Text);
                Army.EventConfirm = true;
                this.Close();
            }
        }

        private void _btnYeni_Click(object sender, EventArgs e)
        {
            FormKullanici k = new FormKullanici();
            k.ShowDialog();
            KullaniciYukle();
        }

        private void _btnKapat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void _btnListeGuncelle_Click(object sender, EventArgs e)
        {
            KullaniciYukle();
        }

        private void _btnAra_Click(object sender, EventArgs e)
        {
            String Sorgu = "Select \n" +
                "kID,\n" +
                "AdSoyad,\n" +
                "kAdi,\n" +
                "Parola,\n" +
                "CreateDate,\n" +
                "UpdateDate,\n" +
                "(CASE WHEN Yetki = 1 THEN 'Yönetici' ELSE 'Kullanıcı' END) \n" +
                   "from Kullanici \n" +
                   "where isDeleted=0 and \n" +
                   "AdSoyad like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                   "kAdi like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%'\n";

            _lwKullanici.Items.Clear();
            DataTable dt = Army.SQL().GetDataTable(Sorgu);
            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());
                ls.SubItems.Add(item[2].ToString());
                ls.SubItems.Add(item[3].ToString());
                ls.SubItems.Add(item[4].ToString());
                ls.SubItems.Add(item[5].ToString());
                ls.SubItems.Add(item[6].ToString());

                _lwKullanici.Items.Add(ls);
            }
            _txtAraString.Focus();
        }
    }
}